This application claims benefit of priority under of U.S. provisional application Ser. No. 60/275,204 filed Mar. 12, 2001, the teachings of which are incorporated herein by reference.
The invention pertains to digital data processing and, more particularly, to methods and apparatus that facilitate implementation and execution of applications on multiprocessor computers and other digital data processing environments.
Virtually since the advent of the computer, applications programs have demanded greater resources than available with processor technologies of the day. One solution is the multiprocessor or multicomputer—e.g., a computer with multiple general-purpose processors or CPUs. Another solution is add-on accelleration hardware performing specialized functions, such as fast fourier transforms or the like. While both solutions have proven quite satisfactory, extensive interplay is sometimes required between the computer manufacturer and customer to optimize use of the additional resources by the customer's applications software.
This has given rise to resistance on the part of at least some customers to integrating specialized add-on hardware, in particular. There may be many reasons for this: short supply of programmers with the skill sets required to develop accelerated applications; the expense of software upgrades in view of interdependencies between customer and manufacturer components; and increased difficulties in porting, improving, and evolving customer-visible software as installed bases increase.
An object of this invention is to provide improved digital data processing methods and apparatus.
More particular objects are to provide such methods and apparatus as facilitate implementation and execution of applications on multiprocessor computers and in other digital data processing environments.
Another object of the invention is to provide such methods and apparatus as reduce the costs and risks traditionally associated with integrating applications and accelerator hardware or other additional resources.
Yet another object of the invention is to provide such methods and apparatus as are suited for object-oriented programming (OOP) and other applications.
Yet still another object of the invention is to provide such methods and apparatus as facilitate the development of parallel programming applications for multiprocessor and other digital data processing systems.
Still yet another object is to provide such methods and apparatus as can be implemented in existing and future multiprocessor and other computing environments.